<?php
session_start();
$event = new usuariosModel();

//Recebe o array passado pelo script com o metodo post
extract($_POST);

//Verifica se o array dados existe
if(isset($dados)){
   // var_dump($dados);//exibi conteudo do array, para testes
    
    //Inicialização da variável que irá fazer a consulta no BD
    $sql="";
    
    //opções para o array dados: 
    //$dados[0]=escolhe função:0-atualizar tabela, 1-ler Numero de linhas, 2-Deletar item
    //$dados[1]=pesquisa busca pelo input digitado
    //$dados[2]=ordena a tabela
    if($dados[0] == 0){
        
        //Se o combo status for selecionado, diferente de vazio
        if($dados[1]!= ""){
            $sql = "where tbUsuariosTipo = $dados[1]";
            
            //se o input tema estiver preenchido acrescenta LIKE à consulta sql
            if($dados[2] != "")
                $sql = $sql . " AND tbUsuariosNome LIKE '%$dados[2]%'";
        }
        
        //para o caso do input tema estiver preenchido e o combo status nao estiver selecionado
        if($dados[1]== "" && $dados[2] != ''){
            $sql= $sql . "where tbUsuariosNome LIKE '%$dados[2]%'";
        }
        
        //Chama o metodo que atualiza a tabela na pagina usuarios.php
        $event->listar($sql . " ORDER BY tbusuarios$dados[3]");
        
        //Grava o conteudo da variavel sql para exibir a quantidade de linhas no proximo passo do script
        $_SESSION['sql']=$sql;	
    }
    
    //Retorna a quantidade de linhas para ser exibido no rodapé
    if($dados[0] == 1){
        $sql = $_SESSION['sql'];	
        echo $event->numLinhas($sql)." registro(s) encontrado(s)";
    }
    
    //Executa a função del() para excluir evento com o id selecionado
    if($dados[0] == 2){
        $event->del($dados[1]);
    }
}    

//usado para executar as funções dos formulários de inserir ou editar dados
extract($_GET);
if(isset($funcao)){
    if($funcao == "inserir"){
        $event->inserir();
    }
    if($funcao == "edit"){
        $event->editar();
    }
}
    
class usuariosModel{
    private $crud;
    
    //Metodo construtor da classe
    public function __construct(){
        //Classe que tem acesso direto ao banco de dados
        include 'conexaoMysql.php';
        $this->crud = new Crud();
    }
    
    //funcao que informa a quantidade de registros encontrados
    function numLinhas($sql, $tabela='tbUsuarios'){
        return mysql_num_rows($this->crud->ler($tabela,'*', $sql)); 
    }

    //funcao que atualiza a tabela
    function listar($sql=""){
        $res = $this->crud->ler('tbUsuarios','*',$sql);
        
        //Usada para fazer o efeito zebra na tabela
        $div = 0;
        
        //relaciona a tabela
        while ($linha = mysql_fetch_array($res)){
             if($div%2 == 0) echo "<tr class=zebra0>"; else echo "<tr class=zebra1>"; $div++; 
		echo "<td>$linha[0]</td>";
                echo "<td>$linha[1]</td>";
                echo "<td>$linha[tbUsuariosCpf]</td>";
                echo "<td>$linha[tbUsuariosRg]</td>";             
			   echo "<td>$linha[tbUsuariosGenero]</td>";
                echo "<td>$linha[tbUsuariosTelefone]</td>";
				  echo "<td>$linha[tbUsuariosCelular]</td>";
				   echo "<td>$linha[tbUsuariosEmail]</td>";
				    
				
                echo "<td><a   href=usuariosDetalhar.php?tbUsuariosId=$linha[0]><img style=vertical-align: middle src=../images/det.png> </a>
                      <a  id=s2 href=usuariosFormEdit.php?tbUsuariosId=$linha[0]><img style=vertical-align: middle src=../images/edit.png> </a>    
                      <a  onclick='confirmExclusao($linha[0])'><img style=vertical-align: middle src=../images/del.png> </a></td>";
        }
    }
    
    function inserir(){
        extract($_POST); //  ------>(falta esssa)<------
        $dtinicio = $this->crud->inverterData($tbUsuariosDtNascimento);
        $this->crud->inserir('tbUsuarios', 
		'tbUsuariosNome,tbUsuariosSenha,tbUsuariosCpf,tbUsuariosRg,tbUsuariosDtNascimento,tbUsuariosGenero,tbUsuariosTelefone,tbUsuariosCelular, tbUsuariosEmail,tbUsuariosOcupacao,tbUsuariosInstituicao,cidade,bairro,endereco,estado,cep, tbUsuariosTipo',
	       "'$tbUsuariosNome','$tbUsuariosSenha','$tbUsuariosCpf', '$tbUsuariosRg','$tbUsuariosDtNascimento','$tbUsuariosGenero','$tbUsuariosTelefone','$tbUsuariosCelular','$tbUsuariosEmail','$tbUsuariosOcupacao','$tbUsuariosInstituicao',
		   '$cidade','$bairro','$endereco','$estado','$cep', '0'");
                header("location:seausuario");
		
    }
    
    function editar(){
        extract($_POST);
            $this->crud->alterar('tbUsuarios', 
                "tbUsuariosNome =  '$tbUsuariosNome',    tbUsuariosSenha = '$tbUsuariosSenha',   tbUsuariosCpf = '$tbUsuariosCpf',
                 tbUsuariosRg = '$tbUsuariosRg',   tbUsuariosDtNascimento = '$tbUsuariosDtNascimento',   tbUsuariosGenero = '$tbUsuariosGenero',
                 tbUsuariosTelefone = '$tbUsuariosTelefone', tbUsuariosCelular = '$tbUsuariosCelular',tbUsuariosEmail = '$tbUsuariosEmail'
				 , tbUsuariosOcupacao = '$tbUsuariosOcupacao', tbUsuariosInstituicao = '$tbUsuariosInstituicao',cidade = '$cidade',
				 bairro = '$bairro',endereco = '$endereco',cep = '$cep',estado = '$estado'
				 ", "where tbUsuariosId = $tbUsuariosId");
        header("location:usuarios.php");
    }

    function del($id){
        //Verifica se existe algum curso relacionado ao evento selecionado para exclusão  ------>(falta esssa)<------
        $res = $this->numLinhas("where 	tbInscricoesIdUsuario = $id", 'tbInscricoes');
        
        //deleta o evento apenas se a qantidade de curso relacionado ao evento for 0 
        if($res==0){
            $this->crud->apagar('tbUsuarios', "where tbUsuariosId = $id");
            echo "<script>alert('Participante excluido com sucesso!!!'); location.href='usuarios.php'</script>";
        }else{
            echo "<script>alert('Erro não foi possivel excluir,Participante Escrito em um Evento'); location.href='usuarios.php'</script>";
       }
       
    }
}